Skip to main content
Version: Upcoming

SurfaceCurveHist

Description

Surface Curve files contain implied volatility information used in order to encode the SpiderRock surface. Each curve record contains the spline parameters for the shape of a surface. Records backing each surface represent a two-dimensional curve with normalized strikes in the X-axis and multiples of ATM volatility in the Y-axis. Surfaces stored in curve records are optimized to fit between option bids and asks across all strikes in the market. EOD

Schema Definition

Field NameData TypeDescription
ekey_atstringOption asset type
ekey_tsstringOption ticker source
ekey_tkstringOption ticker
ekey_dtdateOption expiration date
tradingDatedateTrading date
tradingSessionstringTrading session ('None','RegularMkt','PreMkt','PostMkt','PostMktETF','NextDay')
ticker_atstringUnderlying asset type
ticker_tsstringUnderlying ticker source
ticker_tkstringUnderlying ticker
securityIDbigintSpiderRock security ID
undSecKey_atstringUnderlying asset type
undSecKey_tsstringUnderlying ticker source
undSecKey_tkstringUnderlying ticker
undSecKey_dtdateUnderlying expiration date
undSecTypestringUnderlying security type
uPrcdoubleUnderlying price at date (column value)
uBiddoubleUnderlying bid at date (column value)
uAskdoubleUnderlying ask at date (column value)
yearsfloatSpiderRock time to expiration in years
ratefloatSpiderRock calibrated risk free rate
sdivfloat
ddivfloatSum of dividends paid to expiration
symbolRatiofloatUnderlying price adjustment factor (for corporate actions); usually 1.0. Not always available
exTypestringExercise type (American or European)
modelTypestringOption pricing model used for calculation (None, LogNormalExact, NormalExact, LogNormalApprox, NormalApprox)
priceTypestringInternal use only
earnCntfloatNumber of qualifying earnings events prior to expiration
earnCntAdjfloatNumber of qualifying earnings events prior to expiration (adjusted forecast)
axisVolRTfloatVolatility * sqrt(years), where Volatility is usually atmVol. Used to compute moneyness (xAxis)
axisFUPrcfloatForward underlying price. Used to compute moneyness (xAxis)
atmStrikefloatEstimated synthetic strike where call price and put price are equal
moneynessTypestringMoneyness convention used to calculate xAxis (PctStd, LogStd, NormStd)
underlierModestringUnderlier pricing mode (None=use spot/stock market; FrontMonth=use front month future market + uPrcOffsetEMA; Actual = use actual underlier future market)
cpAdjTypestringAdjustment used to align call and put volatility (None, SDiv, UPrcOffset, Mixed)
priceQuoteTypestringOption premium type (Price or Vol)
atmVolfloatATM volatility
atmCenfloatCensored ATM volatility (adjusted to remove earnings volatility)
atmVolHistfloatReserved for future use
atmCenHistfloatReserved for future use
minAtmVolfloatCalibration metric (lower bound for atmVol)
maxAtmVolfloatCalibration metric (upper bound for atmVol)
minCPAdjValdoubleCalibration metric (lower bound for sdiv or uPrcOffset - depends on cpAdjType)
maxCPAdjValdoubleCalibration metric (upper bound for sdiv or uPrcOffset - depends on cpAdjType)
eMovefloatImplied earnings move (from iEMove from LIveSurfaceFixedTermIntradayHist table)
eMoveHistfloatHistorical earnings move (from hEMove from LIveSurfaceFixedTermIntradayHist table)
uPrcRatiodouble
atmFixedMovefloatApproximate change in volatility for a synthetic at the money strike
atmPhifloatEstimate of atm option Phi (from the surface xAxis=0)
atmVegafloatEstimate of atm option Vega (from the surface xAxis=0)
slopefloatSpiderRock skew slope
varSwapFVfloatVariance swap fair value (estimated by numerical integration over OTM price surface), when available
gridTypestringSurface grid type (determines skew grid points and interpolation method)
knotShiftfloatHorizontal shift applied to the skew grid points (exponential moving average of skewMinX)
minXAxisfloatLower bound for the spline curve. Volatilities to the left decay to a flat vol
maxXAxisfloatUpper bound for the spline curve. Volatilities to the right decay to a flat vol
minCurvValuefloatCalibration metric (estimate of lower bound of minimum curvature point on the curve)
minCurvXAxisfloatCalibration metric (xAxis location of minCurvValue)
maxCurvValuefloatCalibration metric (estimate of upper bound of maximum curvature point on the curve)
maxCurvXAxisfloatCalibration metric (xAxis location of maxCurvValue)
skewMinXfloatxAxis value corresponding to the minimum volatility point of the surface
skewMinYfloatatmVol multiplier corresponding to the minimum volatility of the surface
skewC00floatY-axis points - atmVol multiple corresponding to the (-25.0 + knotShift) X-axis point
skewC01floatY-axis points - atmVol multiple corresponding to the (-14.0 + knotShift) X-axis point
skewC02floatY-axis points - atmVol multiple corresponding to the (-11.0 + knotShift) X-axis point
skewC03floatY-axis points - atmVol multiple corresponding to the (-8.5 + knotShift) X-axis point
skewC04floatY-axis points - atmVol multiple corresponding to the (-6.5 + knotShift) X-axis point
skewC05floatY-axis points - atmVol multiple corresponding to the (-5.0 + knotShift) X-axis point
skewC06floatY-axis points - atmVol multiple corresponding to the (-3.8 + knotShift) X-axis point
skewC07floatY-axis points - atmVol multiple corresponding to the (-2.8 + knotShift) X-axis point
skewC08floatY-axis points - atmVol multiple corresponding to the (-2.0 + knotShift) X-axis point
skewC09floatY-axis points - atmVol multiple corresponding to the (-1.5 + knotShift) X-axis point
skewC10floatY-axis points - atmVol multiple corresponding to the (-1.0 + knotShift) X-axis point
skewC11floatY-axis points - atmVol multiple corresponding to the (-0.8 + knotShift) X-axis point
skewC12floatY-axis points - atmVol multiple corresponding to the (-0.5 + knotShift) X-axis point
skewC13floatY-axis points - atmVol multiple corresponding to the (-0.3 + knotShift) X-axis point
skewC14floatY-axis points - atmVol multiple corresponding to the (0.0 + knotShift) X-axis point
skewC15floatY-axis points - atmVol multiple corresponding to the (0.3 + knotShift) X-axis point
skewC16floatY-axis points - atmVol multiple corresponding to the (0.5 + knotShift) X-axis point
skewC17floatY-axis points - atmVol multiple corresponding to the (0.8 + knotShift) X-axis point
skewC18floatY-axis points - atmVol multiple corresponding to the (1.0 + knotShift) X-axis point
skewC19floatY-axis points - atmVol multiple corresponding to the (1.5 + knotShift) X-axis point
skewC20floatY-axis points - atmVol multiple corresponding to the (2.0 + knotShift) X-axis point
skewC21floatY-axis points - atmVol multiple corresponding to the (2.8 + knotShift) X-axis point
skewC22floatY-axis points - atmVol multiple corresponding to the (3.8 + knotShift) X-axis point
skewC23floatY-axis points - atmVol multiple corresponding to the (5.0 + knotShift) X-axis point
skewC24floatY-axis points - atmVol multiple corresponding to the (6.5 + knotShift) X-axis point
skewC25floatY-axis points - atmVol multiple corresponding to the (8.5 + knotShift) X-axis point
skewC26floatY-axis points - atmVol multiple corresponding to the (11.0 + knotShift) X-axis point
skewC27floatY-axis points - atmVol multiple corresponding to the (14.0 + knotShift) X-axis point
skewC28floatY-axis points - atmVol multiple corresponding to the (25.0 + knotShift) X-axis point
ivAdjD7floatVolatility micro adjustment
ivAdjD6floatVolatility micro adjustment
ivAdjD5floatVolatility micro adjustment
ivAdjD4floatVolatility micro adjustment
ivAdjD3floatVolatility micro adjustment
ivAdjD2floatVolatility micro adjustment
ivAdjD1floatVolatility micro adjustment
ivAdjU1floatVolatility micro adjustment
ivAdjU2floatVolatility micro adjustment
ivAdjU3floatVolatility micro adjustment
ivAdjU4floatVolatility micro adjustment
ivAdjU5floatVolatility micro adjustment
ivAdjU6floatVolatility micro adjustment
ivAdjU7floatVolatility micro adjustment
cpAdjD4floatCall-Put volatility alignment coefficient (sdiv curve)
cpAdjD3floatCall-Put volatility alignment coefficient (sdiv curve)
cpAdjD2floatCall-Put volatility alignment coefficient (sdiv curve)
cpAdjD1floatCall-Put volatility alignment coefficient (sdiv curve)
cpAdjU1floatCall-Put volatility alignment coefficient (sdiv curve)
cpAdjU2floatCall-Put volatility alignment coefficient (sdiv curve)
cpAdjU3floatCall-Put volatility alignment coefficient (sdiv curve)
cpAdjU4floatCall-Put volatility alignment coefficient (sdiv curve)
pwidthfloatMinimum price width, measured across all non-trivial call and put NBBO market quotes
vwidthfloatSmallest difference in implied bid and ask volatility, measured across a range of near atm strikes
cCntintNumber of calls with non-trivial bid and ask NBBO market quotes
pCntintNumber of puts with non-trivial bid and ask NBBO market quotes
cBidMissintNumber of call bids crossing the surface
cAskMissintNumber of call asks crossing the surface
pBidMissintNumber of put bids crossing the surface
pAskMissintNumber of put asks crossing the surface
fitAvgErrfloatMean surface fit error (price difference between surface and mid-market)
fitAvgAbsErrfloatMean of the absolute surface fit error (price difference between surface and mid-market)
fitMaxPrcErrfloatLargest bid-ask surface violation (worst-case strike, measured in premium)
fitErrXXfloatThe strike of the market corresponding to fitMaxPrcErr
fitErrCPstringThe option type corresponding to fitMaxPrcErr (call or put)
fitErrDefloatThe option Delta corresponding to fitMaxPrcErr
fitErrBidfloatThe option bid corresponding to fitMaxPrcErr
fitErrAskfloatThe option ask corresponding to fitMaxPrcErr
fitErrPrcfloatThe surface price corresponding to fitMaxPrcErr
fitErrVolfloatThe surface volatility corresponding to fitMaxPrcErr
tradeableStatusstringIndicates whether the surface is currently tradeable or not (integrity checks pass - OK)
surfaceAdjResultstring
adjTimestamptimestamp
surfaceResultstringIndicates whether the surface was successfully calibrated (success - OK)
sourcestring
sourcedatetimestamp
versionstring
timestamptimestampTimestamp of last update to record - UTC

Differences to V7

  • ekey_yr, ekey_mn, ekey_dy removed in favor of ekey_dt
  • undSecKey_yr, undSecKey_mn, undSecKey_dy removed in favor of undSecKey_dt